package ecom.api;

import java.util.Collection;
import java.util.List;
import javax.ejb.Remote;

import ecom.entity.AnnonceChercheurEntity;
import ecom.entity.AnnonceProprietaireEntity;
import ecom.entity.ProprietaireEntity;


@Remote
public interface IAnnonceProprietaireRemote {

	AnnonceProprietaireEntity CreateAnnonceProprietaire(ProprietaireEntity utilisateur, String titre, String texte, String ville, int departement, int surface, int loyer, String photo);
	
	AnnonceProprietaireEntity SaveAnnonce(AnnonceProprietaireEntity myannonce);
	
	AnnonceProprietaireEntity ModifAnnonceProprietaire(long id, String titre, String texte, String ville, int departement, int surface, int loyer, String photo);
	
	List<AnnonceProprietaireEntity> FindAnnoncesProprietaire();
	List<AnnonceProprietaireEntity> FindAnnoncesProprietaire(int departement);
	Collection<AnnonceProprietaireEntity> FindAnnoncesProprietaire(long id);
		
	List<AnnonceProprietaireEntity> FindMesAnnoncesProprietaire(ProprietaireEntity MonUtilisateur);
		
	AnnonceProprietaireEntity FindAnnonceProprietaire(long id);
	
	AnnonceProprietaireEntity ActivateAnnonceProprietaire(long id);
	  
	void DeleteAnnonceProprietaire(long id);
	void DeleteFavori(long aid, long cid);
	
	public List<AnnonceProprietaireEntity> sortByLoyerAnnonceProprietaireOptFirst();
	public List<AnnonceProprietaireEntity> sortByLoyerAnnonceProprietaireSansOpt();
	
	public List<AnnonceProprietaireEntity> sortByVilleAnnonceProprietaireOptFirst();
	public List<AnnonceProprietaireEntity> sortByVilleAnnonceProprietaireSansOpt();
	public List<AnnonceProprietaireEntity>FindAnnoncesProprietaireSortedByVille();
	
	public List<AnnonceProprietaireEntity> sortByDateParutionAnnonceProprietaireOptFirst();
	public List<AnnonceProprietaireEntity> sortByDatePautionAnnonceProprietaireSansOpt();
	  
	public List<AnnonceProprietaireEntity> sortBySurfaceAnnonceProprietaireSansOpt();
	public List<AnnonceProprietaireEntity> sortBySurfaceAnnonceProprietaireOptFirst();
}
